home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1993 / MacHack 1993.toast / MacHack™ 1987-1992 / MacHack™ '90 / Source Code ƒ / MPW C ƒ / NetTimeProtocol ƒ / Release Notes < prev   
Encoding:
Text File  |  1990-03-23  |  6.4 KB  |  153 lines  |  [TEXT/MPS ]

  1. MacTCP 1.0 Release Notes
  2. 3/28/89
  3.  
  4. Changes:
  5.  
  6. The following interfaces have been added or changed:
  7.     TCPPB.h -     TCPActiveOpenWithData has been removed users are advised to
  8.                 use TCPActiveOpen followed by TCPSend for the same functionality.
  9.                 
  10. Caveats
  11.  
  12. The file MacTCP Prep is used to maintain information across installations of
  13. the MacTCP driver.  For Beta developers of MacTCP products it is advised that 
  14. you remove this file and the associated MacTCP drivers when updating to the
  15. new driver.
  16.  
  17. User and developers should be aware that when running several third party
  18. packages that limit the INITS that can run at boot time, MacTCP should be
  19. allowed to run for the MacTCP Control Panel to work correctly.
  20.  
  21. When using the dynamic configuration feature in the Control Panel the end
  22. points of the range (i.e., all zeros and all ones) are excluded since they are
  23. not allowed by the IP protocol.
  24.  
  25. The use of the dynamic addressing mode on LocalTalk is not recommended since
  26. the KIP-based DDP to IP routers cannot support this option.
  27.  
  28. The IP security option accross the Kinetics Fastpath does not work correctly.
  29.  
  30. Use of link level packets larger than the MTU on LocalTalk is not advised since
  31. there are several problems with these packets on DDP-IP gateways.  The packet
  32. maximum transmission size should be negotiated by the upper layer protocol in 
  33. these cases.
  34.  
  35. The domain name server (DNS) list is used in the following manner when making
  36. DNS queries.  If a default name extension and server are identified in the
  37. Control Panel they are used for all nonqualified requests (e.g., if the name 
  38. Homer is passed to the DNR and the default extension is pundit.edu the name
  39. Homer.pundit.edu will be used in the query, but if the name
  40. Homer.drama.pundit.edu is passed to the domain name resolver the extension will
  41. not be appended.)  Name servers are chosen by the extension of the name passed 
  42. into the domain name resolver.  First, servers that match the full extension
  43. are found followed by servers that serve the ancestor of the full extension
  44. (e.g., the server that serves drama.pundit.edu would first be found followed by
  45. the server that serves pundit.edu for the name Homer.drama.pundit.edu).  If no
  46. servers are found, the default server is used.  If no default is set the domain
  47. name resolver will return noNameServer.  It is advised that a default is always
  48. set.  Once a list of servers that supports the domain needed to be queried is
  49. found, those servers are queried in the order of their "distance" from the
  50. querying host.  First servers on the local net are queried followed by servers
  51. on other nets.  When using the AddrToName query a default server must be chosen.
  52.  
  53. The AddrToName call in AddressXLation.h will return noNameServer in addition
  54. to cacheFault.
  55.  
  56. To "turn off" the default name server, select the last (and always empty)
  57. entry in the DNS list.
  58.  
  59. Developers should be aware that there are several breakpoints in the MacTCP
  60. driver.  These breakpoints should never be hit when the application is operating
  61. correctly.  When one of these breakpoints arises it can be proceeded from but
  62. the text string that is printed should give some indication of the user 
  63. (i.e., programmer) level error.
  64.  
  65. When configuring a 512KE all three methods of acquiring its IP address may
  66. be used.
  67.  
  68. Parsing of the HOSTS file has been limited to 7K of internal storage.  Hosts
  69. files that create more than 7K of internal entries will be parsed until this
  70. memory usage has been reached.
  71.  
  72. Because MacTCP is internally listening to RIP broadcasts, attempting to create
  73. a stream on local port 520 will return duplicateSocket error.
  74.  
  75.  
  76. A Note about Fragmentation and Reassembly
  77.  
  78. IP uses a process called fragmentation and reassembly to allowing sending of
  79. IP packets that are larger than the maximum transmission unit (MTU) of a given
  80. network. Since the application developer selects the size of UDP packets,
  81. unlike TCP which negotiates a packet size, he must be aware of implementation
  82. limitations imposed on the size of these packets.
  83.  
  84. MacTCP internally allocates a buffer memory to temporarily hold all incoming
  85. fragments awaiting reassembly, and all outgoing fragments awaiting network
  86. send.  The amount of space allocated varies depending on whether 1, 2, or
  87. 4 Mbyte of memory is installed.  The maximum size of the packet being
  88. reassembled or fragmented depends solely on the available free space in this
  89. buffer. Because this memory pool is shared across all users of MacTCP, the
  90. maximum size of UDPWrite allowed will vary from time to time depending on
  91. completing demands on this memory pool.  Since the maximum packet size a
  92. given destination can reassemble is only guaranteed to be 576 bytes (including
  93. IP and UDP headers), it is possible to send a packet from MacTCP that cannot
  94. be reassembled by the destination.
  95.  
  96. Unless a developer has a priori knowledge of the capabilities of the
  97. destination machine, the UDPWrite size should be limited to the value returned
  98. by the UDPMTU call for maximum interoperability.
  99.  
  100. Within an Ethernet environment, it is recommended that users restrict their
  101. UDPWrites to less than or equal to 8,192 bytes.  Packets of this size can
  102. usually be reassembled by the types of computers found in EThernet
  103. environments.
  104.  
  105. Within an AppleTalk environment, it is recommended that users restrict
  106. their UDPwrites to less than or equal to 1458 bytes because of performance
  107. considerations in IP-DDP gateways.
  108.  
  109.  
  110. UDPRelease:
  111.  
  112. Before UDPRelease is called, the user must make sure that all pending
  113. UDPWrite commands have completed.  There is no way to abort a UDPWrite
  114. command in progress.
  115.  
  116. Programmer's guide corrections:
  117.  
  118.  
  119. page 16, UDPWrite:
  120.  
  121. Result codes:
  122.     invalidLength     the total amount of data described by the WDS was greater
  123.     than 65,535 bytes.
  124.  
  125.     ipNoFragMemErr    insufficient internal memory was available to fragment
  126.     the packet.
  127.  
  128.     ipRouteErr        unable to send the packet to an off-net destination
  129.     because all gateways are down.
  130.  
  131. page 18, UDPMTU:
  132.  
  133. "...the value of 576 bytes..." should read "...the value of 548 bytes...".
  134.  
  135. page 25, Asynchronous notification routine
  136.  
  137. "...a routine must be registered..." should read "...a routine can be
  138. registered..."
  139.  
  140. page 30, TCPCreate:
  141.  
  142. "An ASR must be provided." should read "An ASR should be provided."
  143.  
  144. "...connection terminated." should read "...connection terminated.
  145. If the routine is 0, the user is not notified of asynchronous events."
  146.  
  147.  
  148. page 46, TCPGlobalInfo:
  149.  
  150. "These counters are not sticky; they will wrap..." should read "These
  151. counters will wrap...".
  152.  
  153.